import 'package:flutter/material.dart';
import 'package:provide/provide.dart';
import 'package:shopflutter/pages/cart_page/cart_item.dart';
import 'package:shopflutter/pages/cart_page/cart_bottom.dart';
import 'package:shopflutter/provide/cart_provide.dart';

class CartPage extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text('购物车'),
      ),
      body: FutureBuilder(
        builder: (context, snapshot) {
          if (snapshot.hasData) {
            List cartList = Provide.value<CartProvide>(context).cartInfoList;
            if (cartList.length != 0) {
              return Stack(
                children: <Widget>[
                  //动态list
                  // Provide<CartProvide>(
                  //   builder: (context, child, childCategroy) {
                  //     cartList = childCategroy.cartInfoList;
                  //     return ListView.builder(
                  //       itemBuilder: (context, index) {
                  //         return CartItem(cartList[index]);
                  //       },
                  //       itemCount: cartList.length,
                  //     );
                  //   },
                  // ),
                  Provide<CartProvide>(
                    builder: (context, child, childCategroy) {
                      cartList = childCategroy.cartInfoList;
                      return ListView.builder(
                        itemBuilder: (context, index) {
                          return CartItem(cartList[index]);
                        },
                        itemCount: cartList.length,
                      );
                    },
                  ),
                  Positioned(bottom: 0, left: 0, child: CartBottom()),
                ],
              );
            } else {
              return Container(
                child: Text('购物车无任何商品快去选购吧！'),
              );
            }
          } else {
            return Text('正在加载中');
          }
        },
        future: _getCartInfo(context),
      ),
    );
  }
  //获取购物车信息
  Future<String> _getCartInfo(BuildContext context) async {
    await Provide.value<CartProvide>(context).getCartInfo();
    return 'end';
  }
}




// import 'package:flutter/material.dart';
// import 'package:shared_preferences/shared_preferences.dart';


// class CartPage extends StatefulWidget {
//   @override
//   _CartPageState createState() => _CartPageState();
// }

// class _CartPageState extends State<CartPage> {

//   List<String> testList =[];
// @override
//   Widget build(BuildContext context) {
//     _show();  //每次进入前进行显示
//     return Container(

//       child:Column(
//         children: <Widget>[
//           Container(
//             height: 500.0,
//             child: ListView.builder(
//                 itemCount:testList.length ,
//                 itemBuilder: (context,index){
//                   return ListTile(
//                     title: Text(testList[index]),
//                   );
//                 },
//               ) ,
//           ),

//           RaisedButton(
//             onPressed: (){_add();},
//             child: Text('增加'),
//           ),
//           RaisedButton(
//             onPressed: (){_clear();},
//             child: Text('清空'),
//           ),
//         ],
//       )

//     );
//   }
// //增加,设置
//   void _add() async {
//       //获取数据库
//       SharedPreferences prefs = await SharedPreferences.getInstance();
//       String temp="技术胖是最胖的!";
//       testList.add(temp);
//       prefs.setStringList('testInfo', testList);//持久化
//       _show();
//   }
// //展示
// void _show() async{
//     SharedPreferences prefs = await SharedPreferences.getInstance();
//     setState(() {
//         if(prefs.getStringList('testInfo')!=null){
//             testList=prefs.getStringList('testInfo');
//         }

//     });
//   }
//   //删除
// void _clear() async{
//     SharedPreferences prefs = await SharedPreferences.getInstance();
//     //prefs.clear(); //全部清空
//     prefs.remove('testInfo'); //删除key键
//     setState((){
//       testList=[];
//     });
//   }
// }